const express = require('express');
const router = express.Router();
const db = require("../../util/dbConfig/dbConfig")

//重置密码为身份证后六位
router.post('/',async (req,res) => {
    let {id,phone} = req.body
    //id和phone两个数据都要有，否则
    if(!id || !phone){
        return res.send({
            code: 1,
            msg: '参数错误'
        })
    }
    try{
        let sySql = `select * from user where ID =?`
        let sqlArr = [id]
        let doc = await db.SySqlConnect(sySql,sqlArr)
        let result = doc[0]  //接收根据id查询的用户数据
        if(result.length === 0){
            //如果查询结果无数据，则表中无该用户，请重新输入id
            return res.send({
                code: 1,
                msg: '参数错误，无此用户'
            })
        }else if(result.PHONENUM !== phone){
            //如果手机号与该用户id手机号不匹配，则返回 重新输入手机号
            return res.send({
                code: 1,
                msg: '参数错误，手机号不匹配'
            })
        }else {
            //如果数据不为null且手机号与该用户手机号匹配
            //修改密码为身份证号后六位
            let newPassword = id.slice(-6)
            console.log('newPassword',newPassword);
            let sySql = `update user set PASSWORD=? where ID=?`
            let sqlArr = [newPassword,id]
            let result1 = await db.SySqlConnect(sySql,sqlArr)
            let changeRows = result1.changedRows  //改变行数，用来表示是否改变成功
            if(changeRows !== 0){
                //如果改变行数不为零，则改变成功
                return res.send({
                    code: 0,
                    msg: '重置成功',
                    data: newPassword //向客户端返回该用户由身份证后六位重置的密码
                })
            }else{
                //如果改变行数为零，则改变失败
                return res.send({
                    code: 2,
                    msg: '重置失败，请稍后再试',
                })
            }
        }
    }catch (e) {
        console.log(e);
        return res.send({
            code: 4,
            msg: '服务器错误，请稍后再试'
        })
    }
})

module.exports = router
